package com.enn.demo.core.domain.repository;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.enn.demo.core.domain.model.person.Person;
import com.enn.demo.core.domain.model.person.PersonId;
import com.enn.demo.dal.entity.SysPersonDO;

import java.util.Map;

/**
 * 用户-Repository接口
 *
 * @author haoxin
 * @date 2021-02-02
 **/
public interface PersonRepository {

    /**
     * 通过人员ID获取人员
     *
     * @param personId
     * @return
     */
    Person find(PersonId personId);

    /**
     * 保存
     *
     * @param user
     */
    PersonId store(Person user);

    /**
     * 删除
     *
     * @param userId
     */
    void remove(PersonId userId);

    /**
     * 查询分页
     * @param params
     * @return
     */
    IPage<SysPersonDO> queryPage(Map<String, Object> params);

    /**
     * 查询分页 第二种使用自动生成的
     * @param params
     * @return
     */
    IPage<SysPersonDO> selectPage(Map<String, Object> params);
}
